خانه

آموزشهای کوتاه

ساخت دکمه لایک انیمیشنی با html و css به همراه سورس کد

توسط

ArSaLaN

۶ ماه قبل

0

ساخت دکمه لایک انیمیشنی با html و css به همراه سورس کد

دسترسی سریع

از بخش فهرست مطالب میتوانید به راحتی به بخش های مختلف آموزش "ساخت دکمه لایک انیمیشنی با html و css به همراه سورس کد" پیمایش کرده و سریعتر به محتوای مدنظر خود برسید.

ویدیو

HTML

        
<div id="main-content">
<div>
    <input type="checkbox" id="checkbox" />
    <label for="checkbox">
        <svg id="heart-svg" viewBox="467 392 58 57" xmlns="http://www.w3.org/2000/svg">
            <g id="Group" fill="none" fill-rule="evenodd" transform="translate(467 392)">
                <path
                    d="M29.144 20.773c-.063-.13-4.227-8.67-11.44-2.59C7.63 28.795 28.94 43.256 29.143 43.394c.204-.138 21.513-14.6 11.44-25.213-7.214-6.08-11.377 2.46-11.44 2.59z"
                    id="heart" fill="#AAB8C2" />
                <circle id="main-circ" fill="#E2264D" opacity="0" cx="29.5" cy="29.5" r="1.5" />

                <g id="grp7" opacity="0" transform="translate(7 6)">
                    <circle id="oval1" fill="#9CD8C3" cx="2" cy="6" r="2" />
                    <circle id="oval2" fill="#8CE8C3" cx="5" cy="2" r="2" />
                </g>

                <g id="grp6" opacity="0" transform="translate(0 28)">
                    <circle id="oval1" fill="#CC8EF5" cx="2" cy="7" r="2" />
                    <circle id="oval2" fill="#91D2FA" cx="3" cy="2" r="2" />
                </g>

                <g id="grp3" opacity="0" transform="translate(52 28)">
                    <circle id="oval2" fill="#9CD8C3" cx="2" cy="7" r="2" />
                    <circle id="oval1" fill="#8CE8C3" cx="4" cy="2" r="2" />
                </g>

                <g id="grp2" opacity="0" transform="translate(44 6)">
                    <circle id="oval2" fill="#CC8EF5" cx="5" cy="6" r="2" />
                    <circle id="oval1" fill="#CC8EF5" cx="2" cy="2" r="2" />
                </g>

                <g id="grp5" opacity="0" transform="translate(14 50)">
                    <circle id="oval1" fill="#91D2FA" cx="6" cy="5" r="2" />
                    <circle id="oval2" fill="#91D2FA" cx="2" cy="2" r="2" />
                </g>

                <g id="grp4" opacity="0" transform="translate(35 50)">
                    <circle id="oval1" fill="#F48EA7" cx="6" cy="5" r="2" />
                    <circle id="oval2" fill="#F48EA7" cx="2" cy="2" r="2" />
                </g>

                <g id="grp1" opacity="0" transform="translate(24)">
                    <circle id="oval1" fill="#9FC7FA" cx="2.5" cy="3" r="2" />
                    <circle id="oval2" fill="#9FC7FA" cx="7.5" cy="2" r="2" />
                </g>
            </g>
        </svg>
    </label>

    <h1>Click me !</h1>

    <a target="_blank" href="https://smartwebpro.ir">https://smartwebpro.ir</a>
</div>
</div>
        
        HTML
    

CSS

        
body {
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased;
    font-family: arial;
}

#main-content {
    display: flex;
    width: 100vw;
    height: 100vh;
    background: white;
    align-items: center;
    justify-content: center;
    text-align: center;
}

h1 {
    font-size: 14px;
    font-weight: 400;
    margin: 10px 0 0 0;
    color: #888;
}

a {
    font-size: 12px;
    font-weight: bold;
    margin-top: 10px;
    display: inline-block;
    text-decoration: none;
    color: #008a68;
}

svg {
    cursor: pointer;
    overflow: visible;
    width: 150px;
}

svg #heart {
    transform-origin: center;
    animation: animateHeartOut 0.3s linear forwards;
}

svg #main-circ {
    transform-origin: 29.5px 29.5px;
}

#checkbox {
    display: none;
}

#checkbox:checked+label svg #heart {
    transform: scale(0.2);
    fill: #e2264d;
    animation: animateHeart 0.3s linear forwards 0.25s;
}

#checkbox:checked+label svg #main-circ {
    transition: all 2s;
    animation: animateCircle 0.3s linear forwards;
    opacity: 1;
}

#checkbox:checked+label svg #grp1 {
    opacity: 1;
    transition: 0.1s all 0.3s;
}

#checkbox:checked+label svg #grp1 #oval1 {
    transform: scale(0) translate(0, -30px);
    transform-origin: 0 0 0;
    transition: 0.5s transform 0.3s;
}

#checkbox:checked+label svg #grp1 #oval2 {
    transform: scale(0) translate(10px, -50px);
    transform-origin: 0 0 0;
    transition: 1.5s transform 0.3s;
}

#checkbox:checked+label svg #grp2 {
    opacity: 1;
    transition: 0.1s all 0.3s;
}

#checkbox:checked+label svg #grp2 #oval1 {
    transform: scale(0) translate(30px, -15px);
    transform-origin: 0 0 0;
    transition: 0.5s transform 0.3s;
}

#checkbox:checked+label svg #grp2 #oval2 {
    transform: scale(0) translate(60px, -15px);
    transform-origin: 0 0 0;
    transition: 1.5s transform 0.3s;
}

#checkbox:checked+label svg #grp3 {
    opacity: 1;
    transition: 0.1s all 0.3s;
}

#checkbox:checked+label svg #grp3 #oval1 {
    transform: scale(0) translate(30px, 0px);
    transform-origin: 0 0 0;
    transition: 0.5s transform 0.3s;
}

#checkbox:checked+label svg #grp3 #oval2 {
    transform: scale(0) translate(60px, 10px);
    transform-origin: 0 0 0;
    transition: 1.5s transform 0.3s;
}

#checkbox:checked+label svg #grp4 {
    opacity: 1;
    transition: 0.1s all 0.3s;
}

#checkbox:checked+label svg #grp4 #oval1 {
    transform: scale(0) translate(30px, 15px);
    transform-origin: 0 0 0;
    transition: 0.5s transform 0.3s;
}

#checkbox:checked+label svg #grp4 #oval2 {
    transform: scale(0) translate(40px, 50px);
    transform-origin: 0 0 0;
    transition: 1.5s transform 0.3s;
}

#checkbox:checked+label svg #grp5 {
    opacity: 1;
    transition: 0.1s all 0.3s;
}

#checkbox:checked+label svg #grp5 #oval1 {
    transform: scale(0) translate(-10px, 20px);
    transform-origin: 0 0 0;
    transition: 0.5s transform 0.3s;
}

#checkbox:checked+label svg #grp5 #oval2 {
    transform: scale(0) translate(-60px, 30px);
    transform-origin: 0 0 0;
    transition: 1.5s transform 0.3s;
}

#checkbox:checked+label svg #grp6 {
    opacity: 1;
    transition: 0.1s all 0.3s;
}

#checkbox:checked+label svg #grp6 #oval1 {
    transform: scale(0) translate(-30px, 0px);
    transform-origin: 0 0 0;
    transition: 0.5s transform 0.3s;
}

#checkbox:checked+label svg #grp6 #oval2 {
    transform: scale(0) translate(-60px, -5px);
    transform-origin: 0 0 0;
    transition: 1.5s transform 0.3s;
}

#checkbox:checked+label svg #grp7 {
    opacity: 1;
    transition: 0.1s all 0.3s;
}

#checkbox:checked+label svg #grp7 #oval1 {
    transform: scale(0) translate(-30px, -15px);
    transform-origin: 0 0 0;
    transition: 0.5s transform 0.3s;
}

#checkbox:checked+label svg #grp7 #oval2 {
    transform: scale(0) translate(-55px, -30px);
    transform-origin: 0 0 0;
    transition: 1.5s transform 0.3s;
}

#checkbox:checked+label svg #grp2 {
    opacity: 1;
    transition: 0.1s opacity 0.3s;
}

#checkbox:checked+label svg #grp3 {
    opacity: 1;
    transition: 0.1s opacity 0.3s;
}

#checkbox:checked+label svg #grp4 {
    opacity: 1;
    transition: 0.1s opacity 0.3s;
}

#checkbox:checked+label svg #grp5 {
    opacity: 1;
    transition: 0.1s opacity 0.3s;
}

#checkbox:checked+label svg #grp6 {
    opacity: 1;
    transition: 0.1s opacity 0.3s;
}

#checkbox:checked+label svg #grp7 {
    opacity: 1;
    transition: 0.1s opacity 0.3s;
}

@keyframes animateCircle {
    40% {
        transform: scale(10);
        opacity: 1;
        fill: #dd4688;
    }

    55% {
        transform: scale(11);
        opacity: 1;
        fill: #d46abf;
    }

    65% {
        transform: scale(12);
        opacity: 1;
        fill: #cc8ef5;
    }

    75% {
        transform: scale(13);
        opacity: 1;
        fill: transparent;
        stroke: #cc8ef5;
        stroke-width: 0.5;
    }

    85% {
        transform: scale(17);
        opacity: 1;
        fill: transparent;
        stroke: #cc8ef5;
        stroke-width: 0.2;
    }

    95% {
        transform: scale(18);
        opacity: 1;
        fill: transparent;
        stroke: #cc8ef5;
        stroke-width: 0.1;
    }

    100% {
        transform: scale(19);
        opacity: 1;
        fill: transparent;
        stroke: #cc8ef5;
        stroke-width: 0;
    }
}

@keyframes animateHeart {
    0% {
        transform: scale(0.2);
    }

    40% {
        transform: scale(1.2);
    }

    100% {
        transform: scale(1);
    }
}

@keyframes animateHeartOut {
    0% {
        transform: scale(1.4);
    }

    100% {
        transform: scale(1);
    }
}                         
        
        CSS
    

طراحی‌های بیشتر

⬇️مشاهده طراحی‌های بیشتر به همراه سورس کد پروژه‌ها⬇️

اینجا کلیک نمایید!
تبلیغ

آموزش بعدی

آیکون پیکان

آواتار نویسنده

ArSaLaN

بلاگر🎈، برنامه نویس 💻

حدود 6 سالی است که در زمینه برنامه نویسی و 2 سالی است که در زمینه تولید محتوا فعالیت میکنم. از اینکه میتونم اطلاعات و دانش خودم را هر چند که ذره ایست در دنیای علم و دانش در اختیار شما عزیزان بگذارم، واقعا خرسند هستم. به امید پیشرفت روزافزون و آینده‌ای درخشان برای همه‌ی شما عزیزان 💙


آخرین آموزشها

بیشتر...